//
//package sc.tool.audio;
//
//import java.io.File;
//import java.io.FileOutputStream;
//
//import android.media.AudioFormat;
//import android.media.AudioRecord;
//import android.media.MediaRecorder;
//import android.os.Environment;
//
//
///** 用于获取实时音频数据 */
//public class AudioInput
//{
//	private void startRecorder()
//	{
//		
//		AudioRecord mAudioRecorder;
//		
//		try
//		{
//			// 1、输出pcm文件
//			File mAudioFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/RecorderTest/" + System.currentTimeMillis() + ".pcm");
//			mAudioFile.getParentFile().mkdirs();
//			mAudioFile.createNewFile();
//			
//			FileOutputStream mFileOutputStream = new FileOutputStream(mAudioFile);
//			
//			// 2、配置AudioRecord
//			int audioSource = MediaRecorder.AudioSource.MIC;	// 声音来源
//			int sampleRate = 44100;								// 采样率 Hz
//			int channelConfig = AudioFormat.CHANNEL_IN_MONO;	// 音频通道的配置 MONO 单声道
//			int audioFormat = AudioFormat.ENCODING_PCM_16BIT;	// 返回音频数据的格式 
//			int minBufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);	//AudioRecord能接受的最小的buffer大小
//			
//			mAudioRecorder = new AudioRecord(audioSource, sampleRate, channelConfig, audioFormat, Math.max(minBufferSize, 2048));
//			
//			// 3、开始录音
//			mAudioRecorder.startRecording();
//			
//			// 4、一边从AudioRecord中读取声音数据到初始化的buffer，一边将buffer中数据导入数据流，写入文件中
//			while (mIsRecording)
//			{ // 标志位，是否停止录音
//				int read = mAudioRecorder.read(mBuffer, 0, 2048);
//				if (read > 0)
//				{
//					mFileOutputStream.write(mBuffer, 0, read);
//					// 也可以在这里对音频数据进行处理，压缩、直播等
//				}
//			}
//			
//			// 5、停止录音，释放资源
//			mAudioRecorder.stop();
//			mAudioRecorder.release();
//			mAudioRecorder = null;
//			mFileOutputStream.close();
//			
//		}
//		catch (Exception e)
//		{
//			e.printStackTrace();
//			
//			if (mAudioRecorder != null)
//			{
//				mAudioRecorder.release();
//				mAudioRecorder = null;
//			}
//		}
//	}
//	
//}
